package com.forezp.banya.viewimpl.other; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.animation.AnimatorSet; import android.animation.ObjectAnimator; import android.content.Intent; import android.os.Bundle; import android.os.SystemClock; import android.widget.ImageView; import com.forezp.banya.R; import com.forezp.banya.base.BaseActivity; import com.forezp.banya.viewimpl.MainActivity; import java.util.Random; import java.util.concurrent.TimeUnit; import butterknife.BindView; import butterknife.ButterKnife; import rx.Observable; import rx.android.schedulers.AndroidSchedulers; import rx.functions.Action1; /** * Created by forezp on 16/10/15. */ public class EntryActivity extends BaseActivity { @BindView(R.id.iv_entry) ImageView mSplashImage; private static final int ANIMATION_TIME = 2000; private static final float SCALE_END = 1.13F; private static final int[] IMAGES = { R.drawable.ic_screen_default, R.drawable.splash0, R.drawable.splash1, R.drawable.splash2, R.drawable.splash3, R.drawable.splash4, R.drawable.splash5, R.drawable.splash6, R.drawable.splash7, R.drawable.splash8, R.drawable.splash9, R.drawable.splash10, R.drawable.splash11, R.drawable.splash12, R.drawable.splash13, R.drawable.splash14, R.drawable.splash15, R.drawable.splash16, }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_entry); ButterKnife.bind(this); setTranslucentStatus(true); Random random = new Random(SystemClock.elapsedRealtime()); mSplashImage.setImageResource(IMAGES[random.nextInt(IMAGES.length)]); Observable.timer(1000, TimeUnit.MILLISECONDS) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Action1<Long>() { @Override public void call(Long aLong) { startAnim(); } }); } @Override public String setActName() { return null; } private void startAnim() { ObjectAnimator animatorX = ObjectAnimator.ofFloat(mSplashImage, "scaleX", 1f, SCALE_END); ObjectAnimator animatorY = ObjectAnimator.ofFloat(mSplashImage, "scaleY", 1f, SCALE_END); AnimatorSet set = new AnimatorSet(); set.setDuration(ANIMATION_TIME).play(animatorX).with(animatorY); set.start(); set.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { startActivity(new Intent(EntryActivity.this, MainActivity.class)); EntryActivity.this.finish(); overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); } }); } }